#ifndef _FLEET_H
#define _FLEET_H

class kFleet {
	public:
		kFleet(char*, kPlayer*,int);
		~kFleet();
		
		//generic getters
		const char *name(); 
		const kPlayer *player();
		const int numberShips();
		const kShip *ship(int);
		const int morale();
		const int numberOders();
		const kFleetOrder *order();
		
		//certain orders cannot be overturned (transits mostly)
		bool assignOrder(kFleetOrder*);
		
		//have the fleet carry out the order assigned to it
		int carryOutOrder();
		
		//linkedlist of fleets
		kFleet *next;
	private:
		char *fname;
		kPlayer *fcontrol;
		int fnumberships;
		kShip *fshiplist;
		int fnumberorders;
		kFleetOrder *fcurrentorder;
		int morale;
		
		//whether or not the fleet is in motion
		bool fmoving;
};

#endif